home *** CD-ROM | disk | FTP | other *** search
/ Chip 1996 November / Chip 11-96.iso / treiber / grafik / datapat / twinor64 / nt / oemsetup.inf < prev    next >
INI File  |  1996-07-04  |  24KB  |  662 lines

  1. ;-----------------------------------------------------------------------
  2. ; OPTION TYPE
  3. ; -----------
  4. ; This identifies the Option type we are dealing with.  The different
  5. ; possible types are:
  6. ;
  7. ; COMPUTER, VIDEO, MOUSE, KEYBOARD, LAYOUT, SCSI, PRINTER, ...
  8. ;-----------------------------------------------------------------------
  9.  
  10. [Identification]
  11.     OptionType = VIDEO
  12.  
  13. [LanguagesSupported]
  14.     ENG
  15.  
  16. ;
  17. ; Option list order: Option = Miniport driver, BitsPerPel, XResolution, YResolution, VRefresh, Interlaced
  18. ; If you don't want to create a VRefresh or Interlaced value under the service
  19. ; parameters then use the value ""
  20. ;
  21.  
  22. [Options]
  23.     "TWIN 640x480x8 60Hz"   = TWINS3,  8, 1280, 480, 60, 0
  24.     "TWIN 640x480x8 72Hz"   = TWINS3,  8, 1280, 480, 72, 0
  25.     "TWIN 640x480x8 75Hz"   = TWINS3,  8, 1280, 480, 75, 0
  26.  
  27.     "TWIN 800x600x8 56Hz"   = TWINS3,  8, 1600, 600, 56, 0
  28.     "TWIN 800x600x8 60Hz"   = TWINS3,  8, 1600, 600, 60, 0
  29.     "TWIN 800x600x8 72Hz"   = TWINS3,  8, 1600, 600, 72, 0
  30.     "TWIN 800x600x8 75Hz"   = TWINS3,  8, 1600, 600, 75, 0
  31.  
  32.     "TWIN 1024x768x8 60Hz"  = TWINS3,  8, 2048, 768, 60, 0
  33.     "TWIN 1024x768x8 70Hz"  = TWINS3,  8, 2048, 768, 70, 0
  34.     "TWIN 1024x768x8 75Hz"  = TWINS3,  8, 2048, 768, 75, 0
  35.  
  36.     "TWIN 1152x864x8 60Hz"  = TWINS3,  8, 1304, 864, 60, 0
  37.  
  38.     "TWIN 1280x1024x8 60Hz" = TWINS3,  8, 2560,1024, 60, 0
  39.     "TWIN 1280x1024x8 72Hz" = TWINS3,  8, 2560,1024, 72, 0
  40.     "TWIN 1280x1024x8 75Hz" = TWINS3,  8, 2560,1024, 75, 0
  41.  
  42.     "TWIN 1600x1200x8 60Hz" = TWINS3,  8, 3200,1200, 60, 0
  43.  
  44.  
  45.     "TWIN 640x480x16 60Hz"  = TWINS3, 16, 1280, 480, 60, 0
  46.     "TWIN 640x480x16 72Hz"  = TWINS3, 16, 1280, 480, 72, 0
  47.     "TWIN 640x480x16 75Hz"  = TWINS3, 16, 1280, 480, 75, 0
  48.  
  49.     "TWIN 800x600x16 56Hz"  = TWINS3, 16, 1600, 600, 56, 0
  50.     "TWIN 800x600x16 60Hz"  = TWINS3, 16, 1600, 600, 60, 0
  51.     "TWIN 800x600x16 72Hz"  = TWINS3, 16, 1600, 600, 72, 0
  52.     "TWIN 800x600x16 75Hz"  = TWINS3, 16, 1600, 600, 75, 0
  53.  
  54.     "TWIN 1024x768x16 60Hz" = TWINS3, 16, 2048, 768, 60, 0
  55.     "TWIN 1024x768x16 70Hz" = TWINS3, 16, 2048, 768, 70, 0
  56.     "TWIN 1024x768x16 75Hz" = TWINS3, 16, 2048, 768, 75, 0
  57.  
  58.  
  59.     "TWIN 640x480x32 60Hz"  = TWINS3, 32, 1280, 480, 60, 0
  60.     "TWIN 640x480x32 72Hz"  = TWINS3, 32, 1280, 480, 72, 0
  61.     "TWIN 640x480x32 75Hz"  = TWINS3, 32, 1280, 480, 75, 0
  62.  
  63.     "TWIN 800x600x32 56Hz"  = TWINS3, 32, 1600, 600, 56, 0
  64.     "TWIN 800x600x32 60Hz"  = TWINS3, 32, 1600, 600, 60, 0
  65.     "TWIN 800x600x32 72Hz"  = TWINS3, 32, 1600, 600, 72, 0
  66.     "TWIN 800x600x32 75Hz"  = TWINS3, 32, 1600, 600, 75, 0
  67.  
  68.  
  69.  
  70.  
  71. ; Order of the information:
  72. ; Port driver = Type, Group, ErrorControl, Tag, InstalledDisplay, VgaCompatible( 0/1 ), EventMessageFile, TypesSupported
  73.  
  74. [MiniportDrivers]
  75.     TWINS3   = !SERVICE_KERNEL_DRIVER, Video, !SERVICE_ERROR_NORMAL, 11, {TWINS3},   0 , %SystemRoot%\System32\IoLogMsg.dll , 7
  76.  
  77.  
  78. ;-----------------------------------------------------------------------
  79. ; OPTION TEXT SECTION
  80. ; -------------------
  81. ; These are text strings used to identify the option to the user.  There
  82. ; are separate sections for each language supported.  The format of the
  83. ; section name is "OptionsText" concatenated with the Language represented
  84. ; by the section.
  85. ;
  86. ;-----------------------------------------------------------------------
  87.  
  88. [OptionsTextENG]
  89.     "TWIN 640x480x8 60Hz"   = "Datapath TWIN 640x480x8  60Hz Orion"
  90.     "TWIN 640x480x8 72Hz"   = "Datapath TWIN 640x480x8  72Hz Orion"
  91.     "TWIN 640x480x8 75Hz"   = "Datapath TWIN 640x480x8  75Hz Orion"
  92.  
  93.     "TWIN 800x600x8 56Hz"   = "Datapath TWIN 800x600x8  56Hz Orion"
  94.     "TWIN 800x600x8 60Hz"   = "Datapath TWIN 800x600x8  60Hz Orion"
  95.     "TWIN 800x600x8 72Hz"   = "Datapath TWIN 800x600x8  72Hz Orion"
  96.     "TWIN 800x600x8 75Hz"   = "Datapath TWIN 800x600x8  75Hz Orion"
  97.  
  98.     "TWIN 1024x768x8 60Hz"  = "Datapath TWIN 1024x768x8  60Hz Orion"
  99.     "TWIN 1024x768x8 70Hz"  = "Datapath TWIN 1024x768x8  70Hz Orion"
  100.     "TWIN 1024x768x8 75Hz"  = "Datapath TWIN 1024x768x8  75Hz Orion"
  101.  
  102.     "TWIN 1152x864x8 60Hz"  = "Datapath TWIN 1152x864x8  60Hz Orion"
  103.  
  104.     "TWIN 1280x1024x8 60Hz" = "Datapath TWIN 1280x1024x8 60Hz Orion"
  105.     "TWIN 1280x1024x8 72Hz" = "Datapath TWIN 1280x1024x8 72Hz Orion"
  106.     "TWIN 1280x1024x8 75Hz" = "Datapath TWIN 1280x1024x8 75Hz Orion"
  107.  
  108.     "TWIN 1600x1200x8 60Hz" = "Datapath TWIN 1600x1200x8 60Hz Orion"
  109.  
  110.  
  111.     "TWIN 640x480x16 60Hz"  = "Datapath TWIN 640x480x16 60Hz Orion"
  112.     "TWIN 640x480x16 72Hz"  = "Datapath TWIN 640x480x16 72Hz Orion"
  113.     "TWIN 640x480x16 75Hz"  = "Datapath TWIN 640x480x16 75Hz Orion"
  114.  
  115.     "TWIN 800x600x16 56Hz"  = "Datapath TWIN 800x600x16 56Hz Orion"
  116.     "TWIN 800x600x16 60Hz"  = "Datapath TWIN 800x600x16 60Hz Orion"
  117.     "TWIN 800x600x16 72Hz"  = "Datapath TWIN 800x600x16 72Hz Orion"
  118.     "TWIN 800x600x16 75Hz"  = "Datapath TWIN 800x600x16 75Hz Orion"
  119.  
  120.     "TWIN 1024x768x16 60Hz" = "Datapath TWIN 1024x768x16 60Hz Orion"
  121.     "TWIN 1024x768x16 70Hz" = "Datapath TWIN 1024x768x16 70Hz Orion"
  122.     "TWIN 1024x768x16 75Hz" = "Datapath TWIN 1024x768x16 75Hz Orion"
  123.  
  124.     "TWIN 640x480x32 60Hz"  = "Datapath TWIN 640x480x32 60Hz Orion"
  125.     "TWIN 640x480x32 72Hz"  = "Datapath TWIN 640x480x32 72Hz Orion"
  126.     "TWIN 640x480x32 75Hz"  = "Datapath TWIN 640x480x32 75Hz Orion"
  127.  
  128.     "TWIN 800x600x32 56Hz"  = "Datapath TWIN 800x600x32 56Hz Orion"
  129.     "TWIN 800x600x32 60Hz"  = "Datapath TWIN 800x600x32 60Hz Orion"
  130.     "TWIN 800x600x32 72Hz"  = "Datapath TWIN 800x600x32 72Hz Orion"
  131.     "TWIN 800x600x32 75Hz"  = "Datapath TWIN 800x600x32 75Hz Orion"
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138. ;---------------------------------------------------------------------------
  139. ; 1. Identify
  140. ;
  141. ; DESCRIPTION:   To verify that this INF deals with the same type of options
  142. ;                as we are choosing currently.
  143. ;
  144. ; INPUT:         None
  145. ;
  146. ; OUTPUT:        $($R0): STATUS: STATUS_SUCCESSFUL
  147. ;                $($R1): Option Type (COMPUTER ...)
  148. ;                $($R2): Diskette description
  149. ;---------------------------------------------------------------------------
  150.  
  151. [Identify]
  152.     ;
  153.     ;
  154.     read-syms Identification
  155.  
  156.     set Status     = STATUS_SUCCESSFUL
  157.     set Identifier = $(OptionType)
  158.     set Media      = #("Source Media Descriptions", 1, 1)
  159.  
  160.     Return $(Status) $(Identifier) $(Media)
  161.  
  162.  
  163.  
  164. ;------------------------------------------------------------------------
  165. ; 2. ReturnOptions:
  166. ;
  167. ; DESCRIPTION:   To return the option list supported by this INF and the
  168. ;                localised text list representing the options.
  169. ;
  170. ;
  171. ; INPUT:         $($0):  Language used. ( ENG | FRN | ... )
  172. ;
  173. ; OUTPUT:        $($R0): STATUS: STATUS_SUCCESSFUL |
  174. ;                                STATUS_NOLANGUAGE
  175. ;                                STATUS_FAILED
  176. ;
  177. ;                $($R1): Option List
  178. ;                $($R2): Option Text List
  179. ;------------------------------------------------------------------------
  180.  
  181. [ReturnOptions]
  182.     ;
  183.     ;
  184.     set Status        = STATUS_FAILED
  185.     set OptionList     = {}
  186.     set OptionTextList = {}
  187.  
  188.     ;
  189.     ; Check if the language requested is supported
  190.     ;
  191.     set LanguageList = ^(LanguagesSupported, 1)
  192.     Ifcontains(i) $($0) in $(LanguageList)
  193.         goto returnoptions
  194.     else
  195.         set Status = STATUS_NOLANGUAGE
  196.         goto finish_ReturnOptions
  197.     endif
  198.  
  199.     ;
  200.     ; form a list of all the options and another of the text representing
  201.     ;
  202.  
  203. returnoptions = +
  204.     set OptionList     = ^(Options, 0)
  205.     set OptionTextList = ^(OptionsText$($0), 1)
  206.     set Status         = STATUS_SUCCESSFUL
  207.  
  208. finish_ReturnOptions = +
  209.     Return $(Status) $(OptionList) $(OptionTextList)
  210.  
  211.  
  212.  
  213. ;---------------------------------------------------------------------------
  214. ; MapToSupportedOption
  215. ;
  216. ; DESCRIPTION:   To map a hardware detected option to the NT Supported
  217. ;                option which represents it.
  218. ;
  219. ; INPUT:         $($0): Option
  220. ;
  221. ; OUTPUT:        $($R0): STATUS: STATUS_SUCCESSFUL
  222. ;                $($R1): Mapped Option
  223. ;
  224. ;---------------------------------------------------------------------------
  225.  
  226. [MapToSupportedOption]
  227.  
  228.     set Status = STATUS_FAILED
  229.     set MappedOption = $($0)
  230.  
  231. ; If the option is one we can support using one of our standard options then
  232. ; map it to the standard option else map it to the default option which is VGA.
  233.  
  234.     set OptionList = ^(MapOfOptions, 0)
  235.     ifcontains $($0) in $(OptionList)
  236.         set MappedOption = #(MapOfOptions, $($0), 1)
  237.     else
  238.         set MappedOption = "VGA"
  239.     endif
  240.  
  241.     set Status = STATUS_SUCCESSFUL
  242.     Return $(Status) $(MappedOption)
  243.  
  244.  
  245.  
  246. [ServicesEntry]
  247.     CurrentEntry = "" ? $(!LIBHANDLE) GetDevicemapValue Video \Device\Video0
  248.  
  249.  
  250. ;
  251. ; InstallOption:
  252. ;
  253. ; FUNCTION:  To copy files representing Options
  254. ;            To configure the installed option
  255. ;            To update the registry for the installed option
  256. ;
  257. ; INPUT:     $($0):  Language to use
  258. ;            $($1):  OptionID to install
  259. ;            $($2):  SourceDirectory
  260. ;            $($3):  AddCopy  (YES | NO)
  261. ;            $($4):  DoCopy   (YES | NO)
  262. ;            $($5):  DoConfig (YES | NO)
  263. ;
  264. ; OUTPUT:    $($R0): STATUS: STATUS_SUCCESSFUL |
  265. ;                            STATUS_NOLANGUAGE |
  266. ;                            STATUS_USERCANCEL |
  267. ;                            STATUS_FAILED
  268. ;
  269.  
  270. [InstallOption]
  271.  
  272.  
  273. ; Set default values for
  274.  
  275.     set Status       = STATUS_FAILED
  276.     set DrivesToFree = {}
  277.  
  278. ; extract parameters
  279.  
  280.     set Option   = $($1)
  281.     set SrcDir   = $($2)
  282.     set AddCopy  = $($3)
  283.     set DoCopy   = $($4)
  284.     set DoConfig = $($5)
  285.  
  286. ; Check if the language requested is supported
  287.  
  288.     set LanguageList = ^(LanguagesSupported, 1)
  289.     Ifcontains(i) $($0) in $(LanguageList)
  290.     else
  291.         set Status = STATUS_NOLANGUAGE
  292.         goto finish_InstallOption
  293.     endif
  294.     read-syms Strings$($0)
  295.  
  296. ; check to see if Option is supported.
  297.  
  298.     set OptionList = ^(Options, 0)
  299.     ifcontains $(Option) in $(OptionList)
  300.     else
  301.         goto finish_InstallOption
  302.     endif
  303.     set OptionList = ""
  304.  
  305. ; Option has been defined already
  306.  
  307.     set MiniportDriver    = #(Options, $(Option), 1)
  308.     set BitsPerPel        = #(Options, $(Option), 2)
  309.     set XResolution       = #(Options, $(Option), 3)
  310.     set YResolution       = #(Options, $(Option), 4)
  311.     set VRefresh          = #(Options, $(Option), 5)
  312.     set Interlaced        = #(Options, $(Option), 6)
  313.  
  314.     set Type              = $(#(MiniportDrivers, $(MiniportDriver), 1))
  315.     set Group             =   #(MiniportDrivers, $(MiniportDriver), 2)
  316.     set ErrorControl      = $(#(MiniportDrivers, $(MiniportDriver), 3))
  317.     set Tag               =   #(MiniportDrivers, $(MiniportDriver), 4)
  318.     set InstalledDisplays =   #(MiniportDrivers, $(MiniportDriver), 5)
  319.     set VgaCompatible     =   #(MiniportDrivers, $(MiniportDriver), 6)
  320.     set EventMessageFile  =   #(MiniportDrivers, $(MiniportDriver), 7)
  321.     set TypesSupported    =   #(MiniportDrivers, $(MiniportDriver), 8)
  322.  
  323.     read-syms ServicesEntry
  324.     detect    ServicesEntry
  325.  
  326. installtheoption = +
  327.  
  328. ; Code to add files to copy list
  329.  
  330.     ifstr(i) $(AddCopy) == "YES"
  331.         set DoActualCopy = NO
  332.         set FileToCheck = #(Files-DisplayMiniportDrivers, $(MiniportDriver), 2)
  333.         LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(!STF_WINDOWSSYSPATH)"\drivers\"$(FileToCheck)
  334.         ifstr(i) $(STATUS) == NO
  335.             set DoActualCopy = YES
  336.             goto addfiles
  337.         endif
  338.         ForListDo $(InstalledDisplays)
  339.             set FileToCheck = #(Files-DisplayDLLs, $($), 2)
  340.             LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(!STF_WINDOWSSYSPATH)"\"$(FileToCheck)
  341.             ifstr(i) $(STATUS) == NO
  342.                 set DoActualCopy = YES
  343.             endif
  344.         EndForListDo
  345.  
  346. addfiles = +
  347.         ifstr(i) $(DoActualCopy) == NO
  348.             shell "subroutn.inf" DriversExist $($0) $(String1)
  349.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  350.                 Debug-Output "VIDEO.INF: shelling DriversExist failed"
  351.                 goto finish_InstallOption
  352.             endif
  353.  
  354.             ifstr(i) $($R0) == STATUS_CURRENT
  355.             else-ifstr(i) $($R0) == STATUS_NEW
  356.                 set DoActualCopy = YES
  357.             else-ifstr(i) $($R0) == STATUS_USERCANCEL
  358.                 Debug-Output "VIDEO.INF: User cancelled video installation"
  359.                 goto finish_InstallOption
  360.             else
  361.                 Debug-Output "VIDEO.INF: Error reported in DriversExist routine in SUBROUTN.INF"
  362.                 goto finish_InstallOption
  363.             endif
  364.         endif
  365.  
  366.         ifstr(i) $(DoActualCopy) == YES
  367.  
  368.             shell "subroutn.inf" DoAskSourceEx $(SrcDir) $(String2)
  369.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  370.                 Debug-Output "VIDEO.INF: shelling DoAskSourceEx failed"
  371.                 goto finish_InstallOption
  372.             endif
  373.  
  374.             ifstr(i) $($R0) == STATUS_SUCCESSFUL
  375.                 set SrcDir = $($R1)
  376.                 ifstr(i) $($R2) != ""
  377.                     set DrivesToFree = >($(DrivesToFree), $($R2))
  378.                 endif
  379.             else
  380.                 Debug-Output "VIDEO.INF: User cancelled asking source."
  381.                 goto finish_InstallOption
  382.             endif
  383.  
  384.             install Install-AddCopyOption
  385.             ifstr(i) $(STF_INSTALL_OUTCOME) != "STF_SUCCESS"
  386.                 Debug-Output "VIDEO.INF: Adding video files to copy list failed"
  387.                 goto finish_InstallOption
  388.             endif
  389.         else
  390.             set DoCopy = NO
  391.         endif
  392.  
  393.     endif
  394.  
  395.     ifstr(i) $(DoCopy) == "YES"
  396.         read-syms ProgressCopy$($0)
  397.         install Install-DoCopyOption
  398.         ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_FAILURE"
  399.             Debug-Output "Copying files failed"
  400.             goto finish_InstallOption
  401.         else-ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_USERQUIT"
  402.             set Status = STATUS_USERCANCEL
  403.             goto finish_InstallOption
  404.         endif
  405.     endif
  406.  
  407.     ifstr(i) $(DoConfig) == "YES"
  408.  
  409. ;  first run a privilege check on modifying the setup node
  410.    
  411.         shell "registry.inf" CheckSetupModify
  412.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  413.             goto finish_InstallOption
  414.         endif
  415.  
  416.         ifstr(i) $($R0) != STATUS_SUCCESSFUL
  417.             goto finish_InstallOption
  418.         endif
  419.  
  420. ;   first make a new video entry, the entry is created automatically enabled
  421.  
  422.         set ServiceNode   = $(MiniportDriver)
  423.         set ServiceBinary = %SystemRoot%\System32\drivers\#(Files-DisplayMiniportDrivers, $(MiniportDriver), 2)
  424.  
  425.         set ServicesValues   = { +
  426.                 {Type,           0, $(!REG_VT_DWORD),     $(Type)                  }, +
  427.                 {Start,          0, $(!REG_VT_DWORD),     $(!SERVICE_SYSTEM_START) }, +
  428.                 {Group,          0, $(!REG_VT_SZ),        $(Group)                 }, +
  429.                 {ErrorControl,   0, $(!REG_VT_DWORD),     $(ErrorControl)          }, +
  430.                 {Tag,            0, $(!REG_VT_DWORD),     $(Tag)                   }, +
  431.                 {BinaryPathName, 0, $(!REG_VT_EXPAND_SZ), $(ServiceBinary)         }  +
  432.                 }
  433.  
  434.         set ParametersValues = { +
  435.                 {InstalledDisplayDrivers,     0, $(!REG_VT_MULTI_SZ), $(InstalledDisplays) }, +
  436.                 {VgaCompatible,               0, $(!REG_VT_DWORD),    $(VgaCompatible)     }, +
  437.                 {DefaultSettings.BitsPerPel,  0, $(!REG_VT_DWORD),    $(BitsPerPel)        }, +
  438.                 {DefaultSettings.XResolution, 0, $(!REG_VT_DWORD),    $(XResolution)       }, +
  439.                 {DefaultSettings.YResolution, 0, $(!REG_VT_DWORD),    $(YResolution)       }  +
  440.                 }
  441.  
  442.         ifstr(i) $(VRefresh) != ""
  443.             set VRefreshValue = {DefaultSettings.VRefresh, 0, $(!REG_VT_DWORD), $(VRefresh)}
  444.             set ParametersValue = >($(ParametersValue), $(VRefreshValue))
  445.         endif
  446.  
  447.         ifstr(i) $(Interlaced) != ""
  448.             set InterlacedValue = {DefaultSettings.Interlaced, 0, $(!REG_VT_DWORD), $(Interlaced)}
  449.             set ParametersValue = >($(ParametersValue), $(InterlacedValue))
  450.         endif
  451.  
  452.         set DeviceValues     = {}
  453.         set EventLogValues   = { +
  454.                 {EventMessageFile, 0, $(!REG_VT_EXPAND_SZ), $(EventMessageFile) }, +
  455.                 {TypesSupported,   0, $(!REG_VT_DWORD),     $(TypesSupported)   }  +
  456.                 }
  457.  
  458.         shell "registry.inf"  MakeServicesEntry $(ServiceNode)      +
  459.                                                 $(ServicesValues)   +
  460.                                                 $(ParametersValues) +
  461.                                                 $(DeviceValues)     +
  462.                                                 $(EventLogValues)   +
  463.                                                 Device0
  464.  
  465.  
  466.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  467.             Debug-Output "Couldn't execute MakeServicesEntry in registry.inf"
  468.             goto finish_InstallOption
  469.         endif
  470.  
  471.         ifstr(i) $($R0) != STATUS_SUCCESSFUL
  472.             Debug-Output "MakeServicesEntry failed for video"
  473.             goto finish_InstallOption
  474.         endif
  475.  
  476. ; then disable the previous video entry
  477.  
  478.         ifstr(i) $(CurrentEntry) != $(MiniportDriver)
  479.             ifstr(i) $(CurrentEntry) != VGA
  480.                 ifstr(i) $(CurrentEntry) != ""
  481.                     shell "registry.inf" ModifyServicesEntry $(CurrentEntry) $(!SERVICE_DISABLED)
  482.  
  483.                     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  484.                         Debug-Output "Couldn't find DisableServicesEntry in registry.inf"
  485.                         goto errorconfig
  486.                     endif
  487.  
  488.                     ifstr(i) $($R0) != STATUS_SUCCESSFUL
  489.                         Debug-Output "DisableServices entry failed"
  490.                     endif
  491.                 endif
  492.             endif
  493.         endif
  494.  
  495. ;tdl added ----------------------------------------------------------------
  496.  
  497.         set KeyPath   = { +
  498.                          {SOFTWARE, 0, $(!MaskAllAccess)}, +
  499.                          {Datapath, 0, $(!MaskAllAccess)}, +
  500.                          {UK-Office, 0, $(!MaskAllAccess)}  +
  501.                         }
  502.         set KeyValues = { +
  503.                      {Email,    0, $(!REG_VT_SZ), "sales@datapath.co.uk" }, +
  504.                      {Phone,    0, $(!REG_VT_SZ), "01332 294441"    }, +
  505.                      {Fax,      0, $(!REG_VT_SZ), "01332 290667"    }, +
  506.                      {BBS,      0, $(!REG_VT_SZ), "01332 298500"    }  +
  507.                         }
  508.  
  509.         shell "registry.inf" CreateKey $(!REG_H_LOCAL) $(KeyPath) $(KeyValues)
  510.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  511.             goto finish_InstallOption
  512.         endif
  513.         ifstr(i) $($R0) != STATUS_SUCCESSFUL
  514.             goto finish_InstallOption
  515.         else
  516.             CloseRegKey $($R1)
  517.         endif
  518.  
  519.  
  520.         set KeyPath   = { +
  521.                          {SOFTWARE, 0, $(!MaskAllAccess)}, +
  522.                          {Datapath, 0, $(!MaskAllAccess)}, +
  523.                          {German-Office, 0, $(!MaskAllAccess)}  +
  524.                         }
  525.         set KeyValues = { +
  526.                      {Phone,0, $(!REG_VT_SZ), "06071 96300"     }, +
  527.                      {Fax,  0, $(!REG_VT_SZ), "06071 963020"    }  +
  528.                         }
  529.                         
  530.         shell "registry.inf" CreateKey $(!REG_H_LOCAL) $(KeyPath) $(KeyValues)
  531.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  532.             goto finish_InstallOption
  533.         endif
  534.         ifstr(i) $($R0) != STATUS_SUCCESSFUL
  535.             goto finish_InstallOption
  536.         else
  537.             CloseRegKey $($R1)
  538.         endif
  539.  
  540.         set KeyPath   = { +
  541.                          {SOFTWARE, 0, $(!MaskAllAccess)}, +
  542.                          {Datapath, 0, $(!MaskAllAccess)}, +
  543.                          {TWINdows, 0, $(!MaskAllAccess)}  +
  544.                         }
  545.         set KeyValues = { +
  546.                          {Height,         0, $(!REG_VT_DWORD), 1        }, +
  547.                          {Backwards,      0, $(!REG_VT_DWORD), 0        }, +
  548.                          {VirtualDesktop, 0, $(!REG_VT_DWORD), 0        }, +
  549.                          {MaxBoards,      0, $(!REG_VT_DWORD), 2        }, +
  550.                          {Date,           0, $(!REG_VT_SZ), "22 May 96" }, +
  551.                          {Version,        0, $(!REG_VT_SZ), "2.00"      }  +
  552.                         }
  553.         shell "registry.inf" CreateKey $(!REG_H_LOCAL) $(KeyPath) $(KeyValues)
  554.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  555.             goto finish_InstallOption
  556.         endif
  557.         ifstr(i) $($R0) != STATUS_SUCCESSFUL
  558.             goto finish_InstallOption
  559.         else
  560.             CloseRegKey $($R1)
  561.         endif
  562.  
  563. ;tdl added to here --------------------------------------------------------
  564.  
  565.         goto configdone
  566.  
  567. errorconfig = +
  568.         ifstr(i) $(CurrentEntry) != $(MiniportDriver)
  569.             shell "registry.inf" ModifyServicesEntry $(MiniportDriver) $(!SERVICE_DISABLED)
  570.             ifstr(i) $(CurrentEntry) != ""
  571.                 shell "registry.inf" ModifyServicesEntry $(CurrentEntry) $(!SERVICE_SYSTEM_START)
  572.             endif
  573.         endif
  574.         goto finish_InstallOption
  575.  
  576. configdone = +
  577.  
  578.     endif
  579.  
  580.     set Status = STATUS_SUCCESSFUL
  581.  
  582. finish_InstallOption = +
  583.     ForListDo $(DrivesToFree)
  584.         LibraryProcedure STATUS,$(!LIBHANDLE), DeleteNetConnection $($) "TRUE"
  585.     EndForListDo
  586.  
  587.     Return $(Status)
  588.  
  589.  
  590. [Install-AddCopyOption]
  591.  
  592.     set STF_VITAL = ""
  593.  
  594. ; Add the files to the copy list
  595.  
  596.     AddSectionKeyFileToCopyList   Files-DisplayMiniportDrivers   +
  597.                                   $(MiniportDriver)              +
  598.                                   $(SrcDir)                      +
  599.                                   $(!STF_WINDOWSSYSPATH)\drivers
  600.  
  601.     ForListDo $(InstalledDisplays)
  602.         AddSectionKeyFileToCopyList   Files-DisplayDLLs          +
  603.                                       $($)                       +
  604.                                       $(SrcDir)                  +
  605.                                       $(!STF_WINDOWSSYSPATH)
  606.  
  607.     EndForListDo
  608.  
  609.     exit
  610.  
  611.  
  612. [Install-DoCopyOption]
  613.  
  614. ; Copy files in the copy list
  615.  
  616.     CopyFilesInCopyList
  617.     exit
  618.  
  619. ;**************************************************************************
  620. ; PROGRESS GUAGE VARIABLES
  621. ;**************************************************************************
  622.  
  623. [ProgressCopyENG]
  624.     ProCaption   = "Windows NT Setup"
  625.     ProCancel    = "Cancel"
  626.     ProCancelMsg = "Windows NT is not correcly installed.  Are you sure you want "+
  627.                    "to cancel copying files?"
  628.     ProCancelCap = "Setup Message"
  629.     ProText1     = "Copying:"
  630.     ProText2     = "To:"
  631.  
  632. [StringsENG]
  633.     String1 = "Display"
  634.     String2 = "Please enter the full path to the OEM Display "+
  635.               "driver files.  Then choose Continue."
  636.  
  637. ;-----------------------------------------------------------------------
  638. ; SOURCE MEDIA DESCRIPTIONS
  639. ; -------------------------
  640. ; The OEM should list all the diskette labels here.  The source media
  641. ; description is used during copy to prompt the user for a diskette
  642. ; if the source is diskettes.
  643. ;
  644. ; Use 1 = "Diskette 1 Label" , TAGFILE = disk1
  645. ;     2 = "Diskette 2 Label" , TAGFILE = disk2
  646. ;     ...
  647. ;-----------------------------------------------------------------------
  648.  
  649. ;--------------------------------------------------------------------
  650. ; THE SECTIONS BELOW SHOULD BE AUTOMATICALLY GENERATED BY THE EXCEL
  651. ; SPREAD SHEETS
  652. ;--------------------------------------------------------------------
  653.  
  654. [Source Media Descriptions]
  655.     1  = "TWIN for WindowsNT disk" , TAGFILE = dptagfl
  656.  
  657. [Files-DisplayDLLs]
  658. TWINS3   = 1,TWINS3.dll   , SIZE=999
  659.  
  660. [Files-DisplayMiniportDrivers]
  661. TWINS3   = 1,TWINS3.sys   , SIZE=999
  662.